package io;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 文件复制
 */
public class CopyDemo {
    public static void main(String[] args) throws IOException {
        /*
        // 单字节读写
        FileInputStream fis = new FileInputStream("Kobe.jpg");
        FileOutputStream fos = new FileOutputStream("Kobe_cp.jpg");

        long start = System.currentTimeMillis();//获取自1970.1.1零时到此时此刻所经历的毫秒数
        int d;
        while ((d=fis.read())!=-1){
            fos.write(d);
        }
        long end = System.currentTimeMillis();

        System.out.println("复制完毕，耗时："+(end-start)+"ms");
        fis.close();
        fos.close();
         */

        //块级读写：
        FileInputStream fis = new FileInputStream("Kobe.jpg");
        FileOutputStream fod = new FileOutputStream("Kobe_cp2.jpg");
        long start = System.currentTimeMillis();

        byte[] data = new byte[1024*10];

        int len;
        while ((len = fis.read(data))!=-1){
            //fos.write(data);//写入整个data数据
            fod.write(data,0,len);//从data的0开始写入len个字符，读多少写多少，没有脏数据了
        }
        long end = System.currentTimeMillis();
        System.out.println("复制完毕，耗时"+(end-start)+"ms");
        fis.close();
        fod.close();
    }
}
